home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 040a / 1st_110b.zip / INSTALL.DOC < prev    next >
Text File  |  1993-05-15  |  62KB  |  1,776 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.       ┌──────────────────────────────────────────────────────────────────┐
  8.       │                                                                  │
  9.       │                                                                  │
  10.       │      ┌────────────────────────────────────────────────────┐      │
  11.       │      │                                                    │      │
  12.       │      │                                                    │      │
  13.       │      │                                                    │      │
  14.       │      │                                                    │      │
  15.       │      │                                                    │      │
  16.       │      │                                                    │      │
  17.       │      │                                                    │      │
  18.       │      │                                                    │      │
  19.       │      │                                                    │      │
  20.       │      │                                                    │      │
  21.       │      │                                                    │      │
  22.       │      │                                                    │      │
  23.       │      │                                                    │      │
  24.       │      │                                                    │      │
  25.       │      │                 ▄██                                │      │
  26.       │      │                  ██ ▄▄▄▄▄▄ ▄▄▄▄▄▄                  │      │
  27.       │      │                  ██ ██▀▀▀▀ ▀▀██▀▀                  │      │
  28.       │      │                  ██ ▀▀▀▀██   ██                    │      │
  29.       │      │                  ██ ██████   ██                    │      │
  30.       │      │                                                    │      │
  31.       │      │              1stReader INSTALL Module              │      │
  32.       │      │                                                    │      │
  33.       │      │                                                    │      │
  34.       │      │                    Entire work                     │      │
  35.       │      │            Copyright 1993 by Mark Herring          │      │
  36.       │      │                All Rights Reserved                 │      │
  37.       │      │                                                    │      │
  38.       │      │                                                    │      │
  39.       │      │                                                    │      │
  40.       │      │                                                    │      │
  41.       │      │                                                    │      │
  42.       │      │                                                    │      │
  43.       │      │                                                    │      │
  44.       │      │                                                    │      │
  45.       │      │                                                    │      │
  46.       │      │                                                    │      │
  47.       │      │                                                    │      │
  48.       │      │                                                    │      │
  49.       │      │                                                    │      │
  50.       │      │                                                    │      │
  51.       │      │                     Sparkware                      │      │
  52.       │      │                Post Office Box 386                 │      │
  53.       │      │           Hendersonville, Tennessee   37077        │      │
  54.       │      │                                                    │      │
  55.       │      │                                                    │      │
  56.       │      │                                                    │      │
  57.       │      └────────────────────────────────────────────────────┘      │
  58.       │                                                                  │
  59.       │                                                                  │
  60.       └──────────────────────────────────────────────────────────────────┘
  61.  
  62.  
  63.  
  64.  
  65.  
  66.         TABLE OF CONTENTS
  67.  
  68.         Scope of this manual....................................     2
  69.         Why an INSTALL utility?.................................     2
  70.         INSTALL specifications..................................     3
  71.         @Variables supported by INSTALL.........................     4
  72.         INSTALL script commands.................................     4
  73.                 ADD.............................................     4
  74.                 ASSIGN..........................................     6
  75.                 ATTRIBUTE.......................................     6
  76.                 BDUMP...........................................     7
  77.                 BEEP............................................     7
  78.                 BLINK...........................................     7
  79.                 BLIP............................................     7
  80.                 BLOAD...........................................     8
  81.                 BOX.............................................     8
  82.                 CALL............................................     8
  83.                 CGA.............................................     9
  84.                 CHDIR...........................................     9
  85.                 CLEAR_BOXES.....................................     9
  86.                 CLOSE...........................................     9
  87.                 CLS.............................................     9
  88.                 COLOR...........................................    10
  89.                 COMPARE.........................................    10
  90.                 COPY............................................    10
  91.                 CURSOR..........................................    10
  92.                 DCHECK..........................................    10
  93.                 DIALOG_BOX......................................    11
  94.                 DISPLAY.........................................    11
  95.                 EGA.............................................    11
  96.                 EOF.............................................    12
  97.                 EXIST...........................................    12
  98.                 EXIT............................................    12
  99.                 F5..............................................    12
  100.                 FILLSCRN........................................    12
  101.                 FONT............................................    13
  102.                 GET.............................................    13
  103.                 GOSUB...........................................    13
  104.                 GOTO............................................    13
  105.                 GREATER.........................................    13
  106.                 INSTR...........................................    14
  107.                 IF ... THEN ....................................    14
  108.                 KEYHIT..........................................    14
  109.                 KILL............................................    14
  110.                 LASTKEY.........................................    15
  111.                 LESS............................................    15
  112.                 LIST............................................    15
  113.                 LIST_COLORS.....................................    15
  114.                 LOAD_API........................................    16
  115.                 LOCATE..........................................    16
  116.                 LPRINT..........................................    16
  117.                 LPRINT_FILE.....................................    16
  118.                 MKDIR...........................................    17
  119.                 MREAD...........................................    17
  120.                 MPU401..........................................    17
  121.                 NAME............................................    17
  122.                 ON..............................................    18
  123.                 OPEN............................................    18
  124.                 PAINTBOX........................................    18
  125.  
  126.  
  127.  
  128.  
  129.                 PAUSE...........................................    18
  130.                 PICK............................................    19
  131.                 PLAY............................................    19
  132.                 PLAY_AVAILABLE..................................    19
  133.                 PLAY_FILE.......................................    19
  134.                 PRINT...........................................    20
  135.                 PROMPT..........................................    20
  136.                 QPRINT..........................................    20
  137.                 READ............................................    21
  138.                 RETURN..........................................    21
  139.                 RUN.............................................    21
  140.                 SAVER...........................................    21
  141.                 SCREEN..........................................    22
  142.                 SCROLL_DOWN.....................................    22
  143.                 SCROLL_LEFT.....................................    22
  144.                 SCROLL_RIGHT....................................    22
  145.                 SCROLL_UP.......................................    22
  146.                 SEEK............................................    22
  147.                 SET.............................................    22
  148.                 SET_LOAD........................................    23
  149.                 SET_SAVE........................................    23
  150.                 SET_WINDOW......................................    24
  151.                 SHELL...........................................    24
  152.                 SHOW............................................    24
  153.                 SLOW............................................    25
  154.                 SWITCH..........................................    25
  155.                 UNPACK..........................................    25
  156.                 VGA.............................................    25
  157.                 VOC_AVAILABLE...................................    26
  158.                 VOC_FILE........................................    26
  159.                 WRITE...........................................    26
  160.  
  161.  
  162.  
  163.  
  164.                                    NOTICE
  165.  
  166.          This INSTALL module is for the use of Sparkware customers
  167.          for their own private purposes.  If you are a third-party
  168.          programmer and have written a utility for one our products
  169.          you may use this INSTALL module to install your products into
  170.          ours without obtaining prior permission.
  171.  
  172.          Anyone can freely distribute .INS scripts created for this
  173.          utility without prior permission from Sparkware.
  174.  
  175.          If you are interested in using this INSTALL module for other
  176.          products (other than products from Sparkware) please contact
  177.          us for more information.
  178.  
  179.          EXCEPT FOR THE EXPRESS WARRANTY SET FORTH ABOVE, SPARKWARE
  180.          GRANTS NO OTHER WARRANTIES, EXPRESSED OR IMPLIED, BY STATUE
  181.          OR OTHERWISE, REGARDING THE DISK, PROGRAMS AND RELATED
  182.          MATERIALS, THEIR FITNESS FOR ANY PURPOSE, THEIR QUALITY,
  183.          THEIR MERCHANTABILITY, OR OTHERWISE.
  184.  
  185.          THE LIABILITY OF SPARKWARE UNDER THE WARRANTY SET FORTH ABOVE
  186.          SHALL BE LIMITED TO THE AMOUNT PAID BY THE CUSTOMER FOR THE
  187.          PRODUCT.  IN NO EVENT SHALL SPARKWARE BE LIABLE FOR ANY
  188.          SPECIAL, CONSEQUENTIAL, OR OTHER DAMAGES FOR BREACH OF
  189.          WARRANTY.
  190.  
  191.          SPARKWARE RESERVES THE RIGHT TO MAKE ANY CHANGES TO THESE
  192.          PROGRAMS, DOCUMENTATION AND CUSTOMER SUPPORT PLANS AT ANY
  193.          TIME WITHOUT PRIOR NOTICE.
  194.  
  195.          THIS SOFTWARE PROGRAM IS A PROPRIETY PRODUCT OF SPARKWARE AND
  196.          IS PROTECTED BY COPYRIGHTS AND INTERNATIONAL TREATIES.  YOU
  197.          MUST TREAT THIS SOFTWARE LIKE ANY OTHER COPYRIGHTED MATERIAL,
  198.          EXCEPT THAT YOU MAY MAKE AN ARCHIVAL COPY OF THE SOFTWARE FOR
  199.          EACH COPY THAT IS LICENSED TO YOU.  YOU MAY NOT DECOMPILE,
  200.          DISASSEMBLE, REVERSE ENGINEER, COPY, TRANSFER, OR OTHERWISE
  201.          USE OR MODIFY THIS SOFTWARE EXCEPT AS STATED HEREIN.
  202.  
  203.          YOU ARE ALLOWED TO TRY THIS PROGRAM FOR THIRTY (30) DAYS.
  204.          USE AFTER THIS PERIOD REQUIRES REGISTRATION OF 1STREADER WITH
  205.          SPARKWARE.
  206.  
  207.          1stReader INSTALL Module
  208.          Entire work copyright 1993 by Mark Herring
  209.          All Rights Reserved
  210.  
  211.          Sparkware
  212.          Post Office Box 386
  213.          Hendersonville, Tennessee   37077-0386
  214.          USA
  215.  
  216.          (615) 230-8822    24 hour support bulletin board system
  217.          (615) 230-MAIL    Office  (10-12, 1-5 central weekdays)
  218.  
  219.  
  220.  
  221.  
  222.                                     Page 1 
  223.  
  224.  
  225.  
  226.          Scope of this manual
  227.          --------------------
  228.  
  229.          This manual documents the 1stReader INSTALL module language.
  230.          As a user of 1stReader you do NOT need to become familiar
  231.          with this information.  However, if you are a third-party
  232.          programmer for 1stReader or just an interested user, please
  233.          read on!
  234.  
  235.          Some knowledge of programming is assumed by this manual.
  236.  
  237.  
  238.  
  239.          Why an INSTALL utility?
  240.          -----------------------
  241.  
  242.          We could have written a very 'quick and dirty' installation
  243.          program for 1stReader.  But after thinking about just what an
  244.          installation program is supposed to do for the user, we began
  245.          thinking about support for 3rd party programmers.  It would
  246.          be nice if 1stReader offered a flexible installation system
  247.          for their own products.
  248.  
  249.          Then we started moving the idea out into a presentation
  250.          system for bulletin board systems.  Why not allow a BBS to
  251.          'present itself' with an interactive demo?
  252.  
  253.          Soon we realized that the install utility could be an asset
  254.          to the whole 1stReader concept.  Infact, if you ever select a
  255.          .INS file from the 1stReader file manager (or try to display
  256.          a WELCOME.INS file, for example) 1stReader automatically
  257.          transfers control to this utility and executes the script.
  258.          If you would like an example of this feature select the
  259.          "1stTutor" button from the 1stReader opening menu.
  260.  
  261.          There is quite alot of 'meat' here for everyone.  Personally,
  262.          we're using INSTALL in our offices as a very flexible menuing
  263.          system.  It's possibilities are almost unlimited!
  264.  
  265.          The 1stReader INSTALL module language (INSTALL) was modeled
  266.          after the BASIC computer language.
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.                                     Page 2 
  285.  
  286.  
  287.  
  288.          INSTALL specifications
  289.          ----------------------
  290.  
  291.  
  292.          Maximum number of lines per script.............. 500
  293.          Maximum number of variables..................... 100
  294.          Maximum number of nested GOSUBs................. 20
  295.          Maximum number of nested CALLed scripts......... 20
  296.          Maximum number of labels........................ 100
  297.  
  298.  
  299.          Any blank line of text, any text beginning with the word
  300.          "REM", ";" or "'" is considered to be a comment and is not
  301.          included in the number of lines used in a script.  INSTALL
  302.          also preallocates ten variables for your own use.  These
  303.          variables are documented in the ASSIGN command.
  304.  
  305.  
  306.  
  307.          You can pass install script filenames (.INS files) on the DOS
  308.          command line.  Example:
  309.  
  310.                               INSTALL GAMES.INS
  311.  
  312.          If you do not enter a filename on the DOS command line then
  313.          the filename "INSTALL.INS" is assumed.  The very first line
  314.          of each INSTALL script must contain the words:
  315.  
  316.                            SPARKWARE INSTALL SCRIPT
  317.  
  318.          This is required so INSTALL can be sure it is working with an
  319.          installation script.  Otherwise, INSTALL will simply list the
  320.          .INS file using its internal file LIST utility and exit to
  321.          DOS.
  322.  
  323.  
  324.  
  325.          Labels
  326.          ------
  327.  
  328.          Labels are the targets of the GOTO and GOSUB commands.  You
  329.          may have up to 100 labels per script.  A label always starts
  330.          with a colon ":" character and you may not have a command
  331.          or function on the same line as a label.
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.                                     Page 3 
  347.  
  348.  
  349.  
  350.          @Variables supported by INSTALL
  351.          -------------------------------
  352.  
  353.          The following @variables are supported INSTALL at all times:
  354.  
  355.          @DATE@              Today's date
  356.          @SYSDATE@           Today's date
  357.          @TIME@              Current system time
  358.          @SYSTIME@           Current system time
  359.          @DATE5@             Today's date (MM-DD only)
  360.          @TIME5@             Today's time (HH:MM only)
  361.          @WEEKDAY@           Day of week (0=Sunday, 1=Monday, etc)
  362.          @MEMORY@            Amount of free memory available (in K)
  363.          @CLS@               Clears screen
  364.          @CLREOL@            Erases to the end of the current line
  365.          @DRIVE@             Drive started INSTALL from
  366.          @INSDRIVE@          Drive where the .INS is located
  367.          @TIMESPEC@          A unique filename made up of today's
  368.                               date and time (MMDDHHMM).
  369.  
  370.  
  371.  
  372.  
  373.          INSTALL script commands
  374.          -----------------------
  375.  
  376.  
  377.           Command: ADD
  378.            Syntax: ADD(Variable$,value)
  379.           Example: ADD(Count$,5)
  380.  
  381.                  Variable$ is any previously assigned variable.
  382.                  "value" can either be a literal value or another
  383.                  variable.
  384.  
  385.  
  386.  
  387.           Command: APRINT
  388.            Syntax: APRINT(Variable$,Row,Col,Color[,MonoColor])
  389.           Example: APRINT("This is a test",12,33,-1)
  390.  
  391.                  APRINT writes a text string to the ROW and COLumn
  392.                  positions on your screen.  Variable$ can either be an
  393.                  assigned variable or text.  COLOR is the color to
  394.                  display Variable$ on the screen.  Setting color to
  395.                  '-1' tells APRINT to use the current color found at
  396.                  ROW,COL.
  397.  
  398.                  Passing APRINT a COLumn value of '-1' tells APRINT to
  399.                  center Variable$ on your screen.
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.                                     Page 4 
  409.  
  410.  
  411.  
  412.                  You can also pass a fifth parameter to APRINT.  The
  413.                  fifth parameter is the color to use if displaying the
  414.                  text on a monochrome system.  If you do not include
  415.                  the fifth parameter APRINT always uses the COLOR
  416.                  attribute.
  417.  
  418.                  You can also call APRINT once with a full list of
  419.                  parameters and then call APRINT passing only the text
  420.                  to print.  Example:
  421.  
  422.                          APRINT ("This is a test",12,20,-1)
  423.                          APRINT ("--------------")
  424.  
  425.                  When you omit the extra parameters APRINT will
  426.                  increment the last ROW value by one and use the last
  427.                  COLumn and COLOR values.
  428.  
  429.                  The main difference between APRINT and QPRINT is that
  430.                  APRINT displays Variable$ through the internal ANSI
  431.                  emulator allowing you to use @x color codes while
  432.                  QPRINT displays Variable$ through direct screen
  433.                  writes.
  434.  
  435.  
  436.  
  437.           Command: ASK
  438.            Syntax: ASK(Variable$,Row,Col,Length,HiLite[,MonoHiLite,UPPER])
  439.           Example: ASK(Name$,10,20,25,112,UPPER)
  440.  
  441.                  The ASK command accepts input from your keyboard into
  442.                  Variable$.  The cursor is positioned at ROW,COLumn
  443.                  (if you set these values to '-1' then ASK will use
  444.                  the current cursor position).  LENGTH is the maximum
  445.                  length of the input field.  HILITE is the color
  446.                  attribute to use when entering text (we recommend
  447.                  either a '15' (for high intensity white on black) or
  448.                  '112' (for black on white).  If you include the
  449.                  "UPPER" parameter then the input will be in UPPER
  450.                  case letters.
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.                                     Page 5 
  471.  
  472.  
  473.  
  474.          Command: ASSIGN
  475.            Syntax: ASSIGN(Variable$,SET,"text")
  476.           Example: ASSIGN(Path$,0,"C:\1ST\"+Filename$)
  477.  
  478.                  The ASSIGN command assigns a value (either another
  479.                  variable or string text) to Variable$.  This command
  480.                  does support 'joining' two strings together using the
  481.                  '+' character.
  482.  
  483.                  If SET=0 then "text" is simply assigned to Variable$
  484.                  IF SET<0 then "text" is LSET into a string -SET
  485.                  characters long.  If SET>0 then "text" is RSET into a
  486.                  string SET characters long.
  487.  
  488.                  If Variable$ has not been previously assigned then
  489.                  INSTALL creates a new variable entry in its table.
  490.                  You can have up to 100 active variables.
  491.  
  492.                  INSTALL pre-initializes these variables for you:
  493.  
  494.                  Variable       Description
  495.                  ────────       ─────────────────────────────────────
  496.                  _YES$          Y
  497.                  _NO$           N
  498.                  _MOUSE$        (Set to -1 if a mouse is available)
  499.                  _PRESS$        Press any key to continue...
  500.                  _UNPACK$       QUNZIP -O
  501.                  _HELP$         (If set to a filespec, when the user
  502.                                  presses 'F1', this file is displayed
  503.                                  as online help).
  504.                  _PROMPT$       Type 'EXIT' to return to the program
  505.                                 (Used when shelling to DOS via 'F5')
  506.                  _SAVER$        Press a key
  507.                  _FORMAT$       Invalid format
  508.                                 (Used when trying to load an invalid
  509.                                 MIDI file).
  510.                  _COMMAND$      (DOS command parameters passed to
  511.                                 INSTALL)
  512.  
  513.  
  514.  
  515.           Command: ATTRIBUTE
  516.            Syntax: ATTRIBUTE(Color[,MonoColor])
  517.           Example: ATTRIBUTE(48,112)
  518.  
  519.                  The ATTRIBUTE command will change the color attribute
  520.                  used by the internal ANSI emulator.  If you pass
  521.                  INSTALL a MonoColor parameter then INSTALL will use
  522.                  this value if you are using a monochrome system.
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                     Page 6 
  533.  
  534.  
  535.  
  536.           Command: BDUMP
  537.            Synatx: BDUMP(Variable$[,ScrnNumber])
  538.           Example: BDUMP("SCREENS.BIN",2)
  539.  
  540.                  The BDUMP command will copy the current screen into
  541.                  the file Variable$.  If you add a 'ScrnNumber'
  542.                  parameter then INSTALL uses this value as an offset
  543.                  into the Variable$ file.  In the above example BDUMP
  544.                  would start writing the current screen at byte
  545.                  location #4001 in the file.
  546.  
  547.  
  548.  
  549.           Command: BEEP
  550.            Syntax: BEEP[(Tone,Duration)]
  551.           Example: BEEP(3000,1)
  552.  
  553.                  The BEEP command will sound a tone on the PC speaker.
  554.                  If you do not pass parameters to BEEP then (2500,1)
  555.                  will be used as a default value.
  556.  
  557.  
  558.  
  559.           Command: BLINK
  560.            Syntax: BLINK <ON|OFF>
  561.           Example: BLINK ON
  562.  
  563.                  The BLINK command will not work with monochrome
  564.                  displays.  If BLINK OFF is used then you can access
  565.                  'high intensity' color backgrounds in your setup.
  566.                  BLINK ON resets your system so blinking colors are
  567.                  supported.
  568.  
  569.                  NOTE: INSTALL always exits by turning BLINK ON.
  570.  
  571.  
  572.  
  573.           Command: BLIP
  574.            Syntax: BLIP <button>
  575.           Example: BLIP 1
  576.  
  577.                  BLIP works with the DIALOG_BOX command.  It will let
  578.                  you 'blip' a dialog box as if the user selected the
  579.                  dialog box.  The idea behind BLIP is to allow you to
  580.                  create demos where your demo actually selects the
  581.                  command, but to the user it looks likey *they*
  582.                  selected it.
  583.  
  584.                  <button> is the button number assigned by the
  585.                  DIALOG_BOX command.
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.                                     Page 7 
  595.  
  596.  
  597.  
  598.           Command: BLOAD
  599.            Synatx: BLOAD(Variable$[,ScrnNumber])
  600.           Example: BLOAD("SCREENS.BIN",2)
  601.  
  602.                  The BLOAD command works in the opposite manner from
  603.                  the BDUMP command.  It will read the BINary file
  604.                  Variable$ and load its contents to your screen.  You
  605.                  can pass BLOAD an optional 'ScrnNumber' parameter and
  606.                  BLOAD will use this value as an offset into the
  607.                  Variable$ file.
  608.  
  609.  
  610.  
  611.           Command: BOX
  612.            Syntax: BOX(ULRow,ULCol,LRRow,LRCol,Color,MonoColor,Frame,
  613.                        Shadow [,Text$,Header$])
  614.           Example: BOX(10,10,14,70,48,112,1,1,"Testing...","Option")
  615.  
  616.                  The BOX command draws a box on your screen.  ULRow,
  617.                  ULCol, LRRow and LRCol describe the box boundaries.
  618.                  COLOR and MONOCOLOR are the two attributes to choose
  619.                  from (depending if you are using a color or
  620.                  monochrome display).  FRAME can be one of the
  621.                  following values:
  622.  
  623.                     1 = single line all around the box
  624.                     2 = double line all around the box
  625.                     3 = double line horizontally, single line
  626.                         vertically
  627.                     4 = single line horizontally, double line
  628.                         vertically
  629.  
  630.                  If SHADOW is set to '1' then a shadow is added to the
  631.                  box.  TEXT$ is optional and if used TEXT$ is centered
  632.                  in the middle of the box.  HEADER$ is also optional
  633.                  and if used will be used as the 'name' of the box.
  634.  
  635.  
  636.  
  637.           Command: CALL
  638.            Syntax: CALL <Scriptname>
  639.           Example: CALL SCRIPT2.INS
  640.  
  641.                  The CALL command lets you call another INSTALL script
  642.                  (.INS).  After the script has executed the program
  643.                  returns to the original script at the next statement
  644.                  after the CALL command.
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.                                     Page 8 
  657.  
  658.  
  659.  
  660.          Function: CGA
  661.            Syntax: CGA
  662.           Example: IF CGA THEN GOTO ...
  663.  
  664.                  This function returns TRUE if the display is at least
  665.                  capable of CGA graphics.
  666.  
  667.  
  668.  
  669.           Command: CHDIR
  670.            Syntax: CHDIR Variable$
  671.           Example: CHDIR "C:\1ST"
  672.  
  673.                  The CHDIR command changes the current subdirectory to
  674.                  Variable$.  It will also change drives if needed.
  675.  
  676.  
  677.  
  678.           Command: CLEAR_BOXES
  679.            Syntax: CLEAR_BOXES
  680.  
  681.                  There is no argument for the CLEAR_BOXES command.
  682.                  The command will erase any DIALOG_BOXes that have
  683.                  been created earlier.
  684.  
  685.  
  686.  
  687.          Command: CLOSE
  688.           Syntax: CLOSE [FileNum]
  689.          Example: CLOSE 1
  690.  
  691.                  The CLOSE command will close a file previously opened
  692.                  by the OPEN command.  If you do not pass a file
  693.                  number with the command then ALL open files will be
  694.                  closed.
  695.  
  696.  
  697.  
  698.           Command: CLS
  699.            Syntax: CLS[(Color,MonoColor)]
  700.           Example: CLS(48,112)
  701.  
  702.                  The CLS command will clear the screen.  If you do not
  703.                  pass it parameters then the current screen color is
  704.                  used.  Otherwise, you can pass it COLOR and MonoColor
  705.                  values that will be used depending on which monitor
  706.                  type is being used.
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.                                     Page 9 
  719.  
  720.  
  721.  
  722.          Function: COLOR
  723.            Syntax: COLOR
  724.           Example: IF COLOR THEN GOTO ...
  725.  
  726.                  The COLOR function will return TRUE if the system is
  727.                  using a color monitor.  Otherwise, the function
  728.                  returns FALSE.
  729.  
  730.  
  731.  
  732.          Function: COMPARE
  733.            Syntax: COMPARE(Variable1$,Variable2$)
  734.           Example: IF COMPARE(Choice$,1) THEN GOTO ...
  735.  
  736.                  The COMPARE function will compare any two variable
  737.                  (or even text) values and will set the function to
  738.                  TRUE if the strings are equal.  Note that upper/lower
  739.                  case does not matter with this function.
  740.  
  741.  
  742.  
  743.           Command: COPY
  744.            Syntax: COPY(FileSpec1$,FileSpec2$)
  745.           Example: COPY(Manual$,"C:\1ST")
  746.  
  747.                  The COPY command will copy one file to another file
  748.                  location.  You can specify variables or text in this
  749.                  function.
  750.  
  751.  
  752.  
  753.           Command: CURSOR
  754.            Syntax: CURSOR <ON|OFF>
  755.           Example: CURSOR ON
  756.  
  757.                  The CURSOR command turns the cursor ON or OFF.
  758.  
  759.  
  760.  
  761.           Command: DCHECK
  762.            Syntax: DCHECK Variable$
  763.           Example: DCHECK Target$
  764.  
  765.                  The DCHECK command is used to make sure that a
  766.                  subdirectory entry has a trailing '\' character.
  767.                  If Variable$ does not end with a '\' then one is
  768.                  added to the variable.
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                     Page 10 
  781.  
  782.  
  783.  
  784.           Command: DIALOG_BOX
  785.            Syntax: DIALOG_BOX(Button#,BoxType,HotKey,Return,Text$,Row,
  786.                               Col,Color,MonoClr,Shadow,HotColor,
  787.                               HotMonoClr)
  788.           Example: DIALOG_BOX(1,0,0,1,"About",4,51,112,112,1,116,15)
  789.  
  790.                  The DIALOG_BOX command lets you draw command buttons
  791.                  on the screen for users to select a choice.
  792.  
  793.                  Button#         The number assigned to this button.
  794.                                  You may have up to 20 buttons active
  795.                                  at one time.
  796.                  BoxType         '0' makes a large, three row button.
  797.                                  '1' makes a small, one row button.
  798.                  HotKey          The keystroke value required to
  799.                                  activate this button.
  800.                  Return          The value returned to the GET
  801.                                  command.
  802.                  Text$           Variable (or text) to display in the
  803.                                  box.  The first letter of Text$ is
  804.                                  also treated as a 'hotkey' too.
  805.                  Row,Col         Screen position to draw the box.
  806.                  Color,MonoClr   Color attributes to assign to this
  807.                                  box.
  808.                  Shadow          If set to '1' then draw a shadow.
  809.                  HotColor        (and HotMonoClr) The attributes to
  810.                                  display the 'hotkey' in the dialog
  811.                                  box.
  812.  
  813.  
  814.  
  815.           Command: DISPLAY
  816.            Syntax: DISPLAY <ON|OFF>
  817.           Example: DISPLAY ON
  818.  
  819.                  The DISPLAY command will turn updating of your screen
  820.                  ON or OFF.  You would want to use this command to
  821.                  turn OFF the display while your script draws a
  822.                  screen.  Then turn the display back ON to have the
  823.                  screen 'pop' into view.
  824.  
  825.  
  826.  
  827.  
  828.          Function: EGA
  829.            Syntax: EGA
  830.           Example: IF EGA THEN GOTO ...
  831.  
  832.                  This function returns TRUE if the display is at least
  833.                  capable of EGA graphics.
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.                                     Page 11 
  843.  
  844.  
  845.  
  846.          Function: EOF
  847.            Syntax: EOF(FileNum)
  848.           Example: IF EOF(1) THEN GOTO ...
  849.  
  850.                  The EOF function returns TRUE if FileNum has reached
  851.                  the "End of File" position while reading the file.
  852.  
  853.  
  854.  
  855.          Function: EXIST
  856.            Syntax: EXIST Variable$
  857.           Example: IF EXIST "INSTALL.DOC" THEN GOTO ...
  858.  
  859.                  The EXIST function returns TRUE if Variable$ file
  860.                  exists.
  861.  
  862.  
  863.  
  864.           Command: EXIT
  865.            Syntax: EXIT
  866.           Example: EXIT
  867.  
  868.                  The EXIT command has no parameters.  It will exit the
  869.                  current script and either return to the CALLing
  870.                  script or exit to DOS.
  871.  
  872.  
  873.  
  874.           Command: F5
  875.            Syntax: F5 <ON|OFF>
  876.           Example: F5 ON
  877.  
  878.                  The F5 command enables or disables the SHELL to DOS
  879.                  via the F5 function key.
  880.  
  881.  
  882.  
  883.           Command: FILLSCRN
  884.            Syntax: FILLSCRN(ULRow,ULCol,LRRow,LRCol,ASCII Char,Color
  885.                             [,MonoColor])
  886.           Example: FILLSCRN(1,1,25,80,32,48,112)
  887.  
  888.                  The FILLSCRN command fills a portion of your screen
  889.                  with an ASCII character.  ULRow, ULCol, LRRow and
  890.                  LRCol describe the screen boundaries.  COLOR and
  891.                  MONOCOLOR are the two attributes to choose from
  892.                  (depending if you are using a color or monochrome
  893.                  display).  ASCII CHAR is an ASCII character between 0
  894.                  and 255 to use to fill the screen.
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.                                     Page 12 
  905.  
  906.  
  907.  
  908.           Command: FONT
  909.            Syntax: FONT Variable$
  910.           Example: FONT "BIGSERIF.FNT"
  911.  
  912.                  The FONT command loads an EGA/VGA font on to the
  913.                  screen.  Note that FONT checks to see if you are
  914.                  using at least an EGA display.
  915.  
  916.  
  917.  
  918.           Command: GET
  919.            Syntax: GET(Variable$[,Default,Seconds])
  920.           Example: GET(Choice$,1,30)
  921.  
  922.                  The CHOICE command works with the DIALOG_BOX command
  923.                  described earlier.  It will wait until the user makes
  924.                  a selection from the DIALOG_BOXes.  If you wish, you
  925.                  can make one of the boxes the default box and you can
  926.                  make GET exit after a certain number of seconds has
  927.                  passed, using the default value as the return value.
  928.  
  929.  
  930.  
  931.           Command: GOSUB
  932.            Syntax: GOSUB <label>
  933.           Example: GOSUB PrintIt
  934.  
  935.                  The GOSUB command will transfer control of the script
  936.                  to the <label> routine (if <label> is found).  The
  937.                  script will continue until a RETURN command is found.
  938.                  Then, execution is returned to the next line after
  939.                  the GOSUB command.  You can nest up to 20 GOSUBs at
  940.                  one time.
  941.  
  942.  
  943.  
  944.           Command: GOTO
  945.            Syntax: GOTO <label>
  946.           Example: GOTO Done
  947.  
  948.                  The GOTO command will transfer control of the script
  949.                  to the <label> routine (if <label> is found).  Unlike
  950.                  GOSUB, GOTO will not return back to the next
  951.                  instruction following the GOTO command.
  952.  
  953.  
  954.  
  955.          Function: GREATER
  956.            Syntax: GREATER(Variable1$,Variable2$)
  957.           Example: IF GREATER(Choice$,1) THEN GOTO ...
  958.  
  959.                  The GREATER function compares two variables (or text
  960.                  strings) and will return TRUE if Variable1$ is
  961.                  greater than Variable2$.
  962.  
  963.  
  964.  
  965.  
  966.                                     Page 13 
  967.  
  968.  
  969.  
  970.          Function: INSTR
  971.            Syntax: INSTR(Start,Variable$,Find$)
  972.           Example: IF INSTR(1,Name$,"1ST") THEN GOTO ...
  973.  
  974.                  The INSTR function searches Variable$ for Find$ (or
  975.                  text strings).  START is the starting position in
  976.                  Variable$ to use when looking for Find$.  If Find$ is
  977.                  found in Variable$ then the function returns TRUE.
  978.  
  979.  
  980.  
  981.  
  982.           Command: IF ... THEN ...
  983.            Syntax: IF <value> THEN ....
  984.           Example: IF CGA THEN BEEP
  985.  
  986.                  The IF command allows INSTALL to test various
  987.                  conditions and then act depending upon those
  988.                  tested conditions.   For a better example of the
  989.                  IF statement study the INSTALL.INS script.
  990.  
  991.                  Remember, you can also use the "NOT" modifier to
  992.                  test for the opposite condition.  Example:
  993.  
  994.                                IF NOT CGA THEN BEEP
  995.  
  996.  
  997.  
  998.          Function: KEYHIT
  999.            Syntax: KEYHIT
  1000.           Example: IF KEYHIT THEN GOTO ...
  1001.  
  1002.                  The KEYHIT function tests to see a keystroke was
  1003.                  pressed by the user.  You can use it to test for
  1004.                  certain values and transfer control based on those
  1005.                  values.
  1006.  
  1007.  
  1008.  
  1009.           Command: KILL
  1010.            Syntax: KILL Variable$
  1011.           Example: KILL "TEMP"
  1012.  
  1013.                  The KILL command will delete a file from the disk.
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.                                     Page 14 
  1029.  
  1030.  
  1031.  
  1032.          Function: LASTKEY
  1033.            Syntax: LASTKEY
  1034.           Example: IF LASTKEY 27 THEN GOTO ...
  1035.  
  1036.                  The LASTKEY function returns the last keystroke
  1037.                  pressed by the user.  You can use it to test for
  1038.                  certain values and transfer control based on those
  1039.                  values.
  1040.  
  1041.  
  1042.          Function: LESS
  1043.            Syntax: LESS(Variable1$,Variable2$)
  1044.           Example: IF LESS(Choice$,1) THEN GOTO ...
  1045.  
  1046.                  The LESS function compares two variables (or text
  1047.                  strings) and will return TRUE if Variable1$ is less
  1048.                  than Variable2$.
  1049.  
  1050.  
  1051.           Command: LIST
  1052.            Syntax: LIST Variable$
  1053.  
  1054.                  The LIST command lets you list the file Variable$ (or
  1055.                  a text string) using an internal file lister.
  1056.  
  1057.  
  1058.  
  1059.           Command: LIST_COLORS
  1060.            Syntax: LIST_COLORS(Color1,MonoColor1,Color2,MonoColor2)
  1061.           Example: LIST_COLORS(31,15,30,7)
  1062.  
  1063.                  The LIST_COLORS command allows you to change the
  1064.                  colors used by the internal LIST module.  COLOR1 and
  1065.                  MONOCOLOR1 are used to set the color of the text
  1066.                  while COLOR2 and MONOCOLOR2 are used to set the box
  1067.                  border colors.
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.                                     Page 15 
  1091.  
  1092.  
  1093.  
  1094.           Command: LOAD_API
  1095.            Syntax: LOAD_API Variable$
  1096.           Example: LOAD_API "NEW_API.$$$"
  1097.  
  1098.                  The LOAD_API command will load a 1stReader 1.10 API
  1099.                  file (Applications Program Interface) so you can have
  1100.                  full access to the 1stReader API from INSTALL.  By
  1101.                  default, INSTALL will automatically load the file
  1102.                  API.$$$ if found in the current subdirectory when
  1103.                  INSTALL loads.
  1104.  
  1105.                  Once the 1stReader API has been loaded you have full
  1106.                  access to the @API(),@API&(), @API$(), and @SWITCH()
  1107.                  functions.  Also, INSTALL uses the color switch used
  1108.                  in 1stReader to determine if a color monitor is being
  1109.                  used.  Also, Sound Blaster support will be controlled
  1110.                  by the position of the "Multimedia" switch inside
  1111.                  1stReader.
  1112.  
  1113.  
  1114.  
  1115.           Command: LOCATE
  1116.            Syntax: LOCATE(Row,Col[,SETATTR])
  1117.           Example: LOCATE(12,40,SETATTR)
  1118.  
  1119.                  The LOCATE command positions the cursor at
  1120.                  ROW,COLumn.  If you use the optional SETATTR
  1121.                  parameter then INSTALL will read the color attribute
  1122.                  at this location and set the current attribute to
  1123.                  this color.
  1124.  
  1125.  
  1126.  
  1127.           Command: LPRINT
  1128.            Syntax: LPRINT Variable$
  1129.           Example: LPRINT "This is a test"
  1130.  
  1131.                  The LPRINT command will print one line of text (or a
  1132.                  variable) to your printer.  Make sure your printer is
  1133.                  turned ON and is ready to print.
  1134.  
  1135.  
  1136.  
  1137.           Command: LPRINT_FILE
  1138.            Syntax: LPRINT_FILE Variable$
  1139.           Example: LPRINT_FILE "INSTALL.DOC"
  1140.  
  1141.                  The LPRINT_FILE command will print the contents of
  1142.                  Variable$ to your printer.  Make sure your printer is
  1143.                  turned ON and is ready to print.
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.                                     Page 16 
  1153.  
  1154.  
  1155.  
  1156.           Command: MKDIR
  1157.            Syntax: MKDIR Variable$
  1158.           Example: MKDIR "C:\1ST"
  1159.  
  1160.                  The MKDIR command will create a subdirectory.  You
  1161.                  can use a variable or a text string to hold the
  1162.                  subdirectory name.
  1163.  
  1164.  
  1165.  
  1166.           Command: MPU401
  1167.            Syntax: MPU401 <ON|OFF>
  1168.           Example: MPU401 ON
  1169.  
  1170.                  The MPU401 command will route all MIDI output to a
  1171.                  MPU401 device on your system.  If you do not have a
  1172.                  MPU401 compatible device connected to port 330h then
  1173.                  all MIDI output will be routed through the sound
  1174.                  card.
  1175.  
  1176.  
  1177.  
  1178.           Command: MREAD
  1179.            Syntax: MREAD(FileNum,Lines[,Find$])
  1180.           Example: MREAD(1,20,":START")
  1181.  
  1182.                  The MREAD command will display text through the ANSI
  1183.                  interpreter.  The FILENUM is the number of the file
  1184.                  buffer opened using the OPEN command.  LINES is the
  1185.                  number of lines to read before returning control back
  1186.                  to the script.  You can also add a third parameter
  1187.                  (either a variable or text string) that tells MREAD
  1188.                  to begin displaying text after FIND$ was read.  If
  1189.                  MREAD reads the line of text "@EXIT@" it will exit
  1190.                  the current read.
  1191.  
  1192.                  Note that you will need to use the EOF() function to
  1193.                  test and see if you are finished reading the file.
  1194.  
  1195.  
  1196.  
  1197.           Command: NAME
  1198.            Syntax: NAME Variable1$ AS Variable2$
  1199.           Example: NAME "INSTALL.DOC" AS "INSTALL.TXT"
  1200.  
  1201.                  The NAME command renames a file to another filename.
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.                                     Page 17 
  1215.  
  1216.  
  1217.  
  1218.           Command: ON
  1219.            Syntax: ON Variable$ GOTO ...
  1220.           Example: ON Choice$ GOTO Label1,Label2,Label3,....
  1221.  
  1222.                  The ON command assumes that Variable$ contains a
  1223.                  numeric value.  If Variable$="1" then ON will
  1224.                  transfer control to the label "LABEL1".  If
  1225.                  Variable$="2" then ON will transfer control to
  1226.                  "LABEL2", etc.
  1227.  
  1228.  
  1229.  
  1230.           Command: OPEN
  1231.            Syntax: OPEN(Variable1$,FileNum,Variable2$)
  1232.           Example: OPEN("I",1,"INSTALL.DOC")
  1233.  
  1234.                  The OPEN command will open a file for input or output
  1235.                  mode.  The mode is determined by the first variable
  1236.                  (or text string) parameter.  Valid values are:
  1237.  
  1238.                         "O"   Opens Variable2$ for OUTPUT
  1239.                         "A"   Opens Variable2$ for APPEND
  1240.                         "I"   Opens Variable2$ for INPUT
  1241.                         "B"   Opens Variable2$ for BINARY
  1242.  
  1243.                  FILENUM contains the file number to assign to this
  1244.                  file.
  1245.  
  1246.  
  1247.  
  1248.           Command: PAINTBOX
  1249.            Syntax: PAINTBOX(ULRow,ULCol,LRRow,LRCol,Color[,MonoColor])
  1250.           Example: PAINTBOX(1,1,25,80,48,112)
  1251.  
  1252.                  The PAINTBOX command fills a portion of your screen
  1253.                  with a color attribute.  ULRow, ULCol, LRRow and
  1254.                  LRCol describe the screen boundaries.  COLOR and
  1255.                  MONOCOLOR are the two attributes to choose from
  1256.                  (depending if you are using a color or monochrome
  1257.                  display).  Unlike FILLSCRN, PAINTBOX only changes
  1258.                  the color of the screen - the text is not disturbed.
  1259.  
  1260.  
  1261.  
  1262.           Command: PAUSE
  1263.            Syntax: PAUSE [seconds]
  1264.           Example: PAUSE 10
  1265.  
  1266.                  The PAUSE command will pause execution of the script
  1267.                  until a key has been pressed.  If you include the
  1268.                  optional [seconds] parameter then PAUSE will wait
  1269.                  [seconds] for a keystroke and if a key was not
  1270.                  pressed then execution continues with the next
  1271.                  statement.
  1272.  
  1273.  
  1274.  
  1275.  
  1276.                                     Page 18 
  1277.  
  1278.  
  1279.  
  1280.           Command: PICK
  1281.            Syntax: PICK(Variable$,Prompt$,Filename$,LRL,DisplayPos,
  1282.                         Length1, DataPos,Length2,Color,MonoColr)
  1283.           Example: PICK(V$,"Select:","MODEMS.DAT",102,1,50,51,50,30,7)
  1284.  
  1285.                  The PICK command is designed to let you choose a
  1286.                  response from a file.  The file must be a formatted
  1287.                  file with a specific LOGICAL RECORD LENGTH (LRL).
  1288.  
  1289.                  VARIABLE$ will receive the response selected from the
  1290.                  file.  PROMPT$ is the text to display asking the user
  1291.                  to select a choice.  FILENAME$ contains the name of
  1292.                  the file to read.  DISPLAYPOS is the byte position in
  1293.                  each* record where the displayed text begins.
  1294.                  LENGTH1 is length of the display text in bytes.
  1295.                  DATAPOS is the byte position in *each* record where
  1296.                  the data field begins.  LENGTH2 is the length of the
  1297.                  data field.  Finally, COLOR and MONOCOLOR determine
  1298.                  the color of the displayed entries on the screen.
  1299.  
  1300.  
  1301.  
  1302.           Command: PLAY
  1303.            Syntax: PLAY Variable$
  1304.           Example: PLAY "T120O2G8G8G8G8A8A8G16E16C8C8C16C16D16C16"
  1305.  
  1306.                  The PLAY command plays a ANSI music string to your
  1307.                  PC's speaker.
  1308.  
  1309.  
  1310.  
  1311.          Function: PLAY_AVAILABLE
  1312.            Syntax: PLAY_AVAILABLE
  1313.           Example: IF PLAY_AVAILABLE THEN GOTO ...
  1314.  
  1315.                  The PLAY_AVAILABLE function checks to see if your
  1316.                  system contains a Sound Blaster (or compatible) sound
  1317.                  card.  If the sound card is found then this function
  1318.                  returns TRUE.
  1319.  
  1320.  
  1321.  
  1322.  
  1323.           Command: PLAY_FILE
  1324.            Syntax: PLAY_FILE Variable$
  1325.           Example: PLAY_FILE "DIXIE.MID"
  1326.  
  1327.                  The PLAY_FILE command will play a .CMF or .MID file
  1328.                  through your sound card.  INSTALL will wait until the
  1329.                  music has finished playing before continuing to the
  1330.                  next script statement.
  1331.  
  1332.                  NOTE: This command will not work if your system does
  1333.                        not include a sound card.
  1334.  
  1335.  
  1336.  
  1337.  
  1338.                                     Page 19 
  1339.  
  1340.  
  1341.  
  1342.           Command: PRINT
  1343.            Syntax: PRINT Variable$
  1344.           Example: PRINT "This is a test"
  1345.  
  1346.                  The PRINT command displays Variable$ through the
  1347.                  internal ANSI emulator.
  1348.  
  1349.  
  1350.  
  1351.           Command: PROMPT
  1352.            Syntax: PROMPT(Variable$,Row,Seconds,Color[,MonoColor])
  1353.           Example: PROMPT("Thanks for using INSTALL",12,5,-1)
  1354.  
  1355.                  The PROMPT command displays Variable$ centered in a
  1356.                  box on ROW and will pause for SECONDS before erasing
  1357.                  the box.
  1358.  
  1359.  
  1360.  
  1361.           Command: QPRINT
  1362.            Syntax: QPRINT(Variable$,Row,Col,Color[,MonoColor])
  1363.           Example: QPRINT("This is a test",12,33,-1)
  1364.  
  1365.                  QPRINT writes a text string to the ROW and COLumn
  1366.                  positions on your screen.  Variable$ can either be an
  1367.                  assigned variable or text.  COLOR is the color to
  1368.                  display Variable$ on the screen.  Setting color to
  1369.                  '-1' tells QPRINT to use the current color found at
  1370.                  ROW,COL.
  1371.  
  1372.                  Passing QPRINT a COLumn value of '-1' tells QPRINT to
  1373.                  center Variable$ on your screen.
  1374.  
  1375.                  You can also pass a fifth parameter to QPRINT.  The
  1376.                  fifth parameter is the color to use if displaying the
  1377.                  text on a monochrome system.  If you do not include
  1378.                  the fifth parameter QPRINT always uses the COLOR
  1379.                  attribute.
  1380.  
  1381.                  You can also call QPRINT once with a full list of
  1382.                  parameters and then call QPRINT passing only the text
  1383.                  to print.  Example:
  1384.  
  1385.                          QPRINT ("This is a test",12,20,-1)
  1386.                          QPRINT ("--------------")
  1387.  
  1388.                  When you omit the extra parameters QPRINT will
  1389.                  increment the last ROW value by one and use the last
  1390.                  COLumn and COLOR values.
  1391.  
  1392.                  The main difference between QPRINT and APRINT is that
  1393.                  QPRINT displays Variable$ through direct screen
  1394.                  writes while APRINT displays Variable$ through the
  1395.                  internal ANSI emulator.
  1396.  
  1397.  
  1398.  
  1399.  
  1400.                                     Page 20 
  1401.  
  1402.  
  1403.  
  1404.           Command: READ
  1405.            Syntax: READ(FileNum,Variable$[,UPPER,TRIM])
  1406.           Example: READ(1,Name$,TRIM)
  1407.  
  1408.                  The READ command will read one line of input from a
  1409.                  previously OPENed file into Variable$.  You can also
  1410.                  use the parameters UPPER (to convert the input to
  1411.                  upper case) and TRIM (to trim spaces from the left
  1412.                  and right of the string).
  1413.  
  1414.  
  1415.  
  1416.           Command: RETURN
  1417.            Syntax: RETURN [label]
  1418.           Example: RETURN
  1419.  
  1420.                  The RETURN command will return control back to the
  1421.                  script at the next command *after* the calling GOSUB
  1422.                  command.  You can optionally return control to a
  1423.                  label by placing the label's name on the same line.
  1424.  
  1425.  
  1426.  
  1427.           Command: RUN
  1428.            Syntax: RUN ScriptName$
  1429.           Example: RUN "SCRIPT2.INS"
  1430.  
  1431.                  The RUN command will transfer control to another
  1432.                  INSTALL script command.  Unlike the CALL command, RUN
  1433.                  does not return back to the calling script once
  1434.                  execution is complete.
  1435.  
  1436.  
  1437.  
  1438.           Command: SAVER
  1439.            Syntax: SAVER seconds
  1440.           Example: SAVER 180
  1441.  
  1442.                  INSTALL provides an internal screen saver.  You can
  1443.                  activate the screen saver by using the SAVER command
  1444.                  to tell INSTALL how many seconds should pass without
  1445.                  keyboard input before saving the screen.  If you wish
  1446.                  to disable the screen saver just use SAVER 0.
  1447.  
  1448.                  The _SAVER$ variable has been provided for you if you
  1449.                  wish to change the message displayed after saving the
  1450.                  screen.  To recall the saved screen press any key.
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.                                     Page 21 
  1463.  
  1464.  
  1465.  
  1466.           Command: SCREEN
  1467.            Syntax: SCREEN(Number,<SAVE|RESTORE>)
  1468.           Example: SCREEN(1,SAVE)
  1469.  
  1470.                  The SCREEN command will save the current screen into
  1471.                  one of six screen buffers.
  1472.  
  1473.  
  1474.  
  1475.           Command: SCROLL_DOWN,SCROLL_LEFT,SCROLL_RIGHT,SCROLL_UP
  1476.            Syntax: SCROLL_xxxx(ULRow,ULCol,LRRow,LRCol,Lines)
  1477.           Example: SCROLL_DOWN(1,1,25,80,1)
  1478.  
  1479.                  The SCROLL_xxxx (DOWN, LEFT, RIGHT or UP) command
  1480.                  will scroll a region of the screen by LINES.  UlRow,
  1481.                  ULCol, LRRow and LRCol describe the scroll box
  1482.                  boundaries.
  1483.  
  1484.  
  1485.  
  1486.           Command: SEEK
  1487.            Syntax: SEEK(FileNum,<Byte Position|Variable$>)
  1488.           Example: SEEK(1,4000)
  1489.  
  1490.                  The SEEK command will position the file pointer for
  1491.                  FILENUM to BYTE POSITION in the file.  You can also
  1492.                  specify a string Variable$ instead of a byte position
  1493.                  and INSTALL will scan the file to locate Variable$
  1494.                  from the current position.  If the string was not
  1495.                  found the file pointer is restored to the previous
  1496.                  position.
  1497.  
  1498.  
  1499.  
  1500.           Command: SET
  1501.            Syntax: SET <VALUE> Variable$
  1502.           Example: SET SIGNATURE "Sparky"
  1503.  
  1504.                  The SET command lets you assign specific values in
  1505.                  the 1stReader .SET file.  <VALUE> corresponds to one
  1506.                  of the following values:
  1507.  
  1508.                  CARDNO           Calling card number
  1509.                  DLCMD            Zmodem download command
  1510.                  DOWNLOADS        Download subdirectory
  1511.                  EDITOR           DOS text editor
  1512.                  LIST             DOS file lister
  1513.                  MAXBAUDRATE      Maximum baud rate
  1514.                  ORIGINAL         Original message filespec
  1515.                  PACKETDIR        Mail packets subdirectory
  1516.                  PCPACCESS        PC Pursuit access telephone number
  1517.                  PCPPWRD          PC Pursuit password
  1518.                  PCPUSERID        PC Pursuit user id
  1519.                  PHONEBOOK        Name of phone book
  1520.  
  1521.  
  1522.  
  1523.  
  1524.                                     Page 22 
  1525.  
  1526.  
  1527.  
  1528.                  PREFIX1          Dialing prefix #1
  1529.                  PREFIX2          Dialing prefix #2
  1530.                  PROGRAMS         Programs subdirectory
  1531.                  QUOTE            Quote character
  1532.                  REPDIR           Replies mail packet subdirectory
  1533.                  REPLY            Reply message filespec
  1534.                  SERIALPORT       Serial port number
  1535.                  SIGNATURE        User's signature
  1536.                  SUFFIX           Dialing suffix
  1537.                  ULCMD            Zmodem upload command
  1538.                  WORKDIR          Work subdirectory
  1539.                  INIT             Modem initialization string
  1540.                  NEWUSER          New user flag ("XX")
  1541.                  SETNAME          Name of configuration setup
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.                  If you need to directly store an @API variable
  1549.                  literal into one of these entries use the syntax:
  1550.  
  1551.                             LITERAL SET <VALUE> Variable$
  1552.  
  1553.                  The LITERAL keyword prevents INSTALL from translating
  1554.                  any @API variables.
  1555.  
  1556.  
  1557.  
  1558.           Command: SET_LOAD
  1559.            Syntax: SET_LOAD Variable$
  1560.           Example: SET_LOAD "1ST.SET"
  1561.  
  1562.                  The SET_LOAD command will load a 1stReader .SET file
  1563.                  into memory so you can modify it using the SET
  1564.                  command.  While a .SET file is loaded you also have
  1565.                  the ability to use these @variables:
  1566.  
  1567.                  @CFG.SERIALPORT@        Serial port
  1568.                  @CFG.DOWNLOADS@         Download directory location
  1569.                  @CFG.PROGRAMS@          Programs directory location
  1570.                  @CFG.WORKDIR@           Work directory location
  1571.                  @CFG.NEWUSER@           Returns "XX" if new user
  1572.                  @CFG.PHONEBOOK@         Name of phone book
  1573.  
  1574.  
  1575.           Command: SET_SAVE
  1576.            Syntax: SET_SAVE Variable$
  1577.           Example: SET_SAVE "1ST.SET"
  1578.  
  1579.                  The SET_SAVE command will save a 1stReader .SET file
  1580.                  into disk that has been previously loaded by
  1581.                  SET_LOAD.
  1582.  
  1583.  
  1584.  
  1585.  
  1586.                                     Page 23 
  1587.  
  1588.  
  1589.  
  1590.           Command: SET_WINDOW
  1591.            Syntax: SET_WINDOW(ULRow,ULCol,LRRow,LRCol)
  1592.           Example: SET_WINDOW(10,10,15,70)
  1593.  
  1594.                  The SET_WINDOW command setup up the scrollable region
  1595.                  defined by the internal ANSI emulator.  Any strings
  1596.                  displayed through the ANSI emulator will only affect
  1597.                  this region of the screen.
  1598.  
  1599.  
  1600.  
  1601.           Command: SHELL
  1602.            Syntax: SHELL(Variable$[,SCRNSAVE])
  1603.           Example: SHELL("1ST")
  1604.  
  1605.                  The SHELL command will execute a DOS program or batch
  1606.                  file from inside INSTALL.  If Variable$ is blank
  1607.                  (empty) then the user will be taken to DOS where they
  1608.                  can type 'EXIT' to return back to INSTALL.
  1609.  
  1610.                  The _PROMPT$ variable has been reserved for the
  1611.                  prompt that is displayed in a DOS shell in case you
  1612.                  wish to change it.
  1613.  
  1614.                  If you include the optional SCRNSAVE parameter then
  1615.                  INSTALL will not clear the screen before executing
  1616.                  the program.
  1617.  
  1618.                  You can also use the DOS command line switches /CGA,
  1619.                  /EGA and /VGA with your DOS commands.  These switches
  1620.                  will check to make sure you have at least the monitor
  1621.                  display in use on your system before executing the
  1622.                  program.  If you try to execute a DOS command like:
  1623.  
  1624.                        SHELL("NANOGIF EAGLE.GIF /VGA",SCRNSAVE)
  1625.  
  1626.                  on an EGA system, INSTALL will not execute the
  1627.                  command.
  1628.  
  1629.  
  1630.  
  1631.           Command: SHOW
  1632.            Syntax: SHOW Variable$ [NOSTOP SCRNSAVE]
  1633.           Example: SHOW "WELCOMEG"
  1634.  
  1635.                  The SHOW command displays Variable$ (or a text
  1636.                  filename) to your screen.  SHOW will pause at every
  1637.                  full screen or at every @MORE@ or @PAUSE@ command.
  1638.  
  1639.                  NOSTOP will force SHOW to display the file without
  1640.                  pausing (except for @MORE@ or @PAUSE@).  SCRNSAVE
  1641.                  will restore the current screen when finished.
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.                                     Page 24 
  1649.  
  1650.  
  1651.  
  1652.           Command: SLOW
  1653.            Syntax: SLOW(<ON|OFF>[,cps])
  1654.           Example: SLOW(ON,1)
  1655.  
  1656.                  The SLOW command will cause text to be displayed
  1657.                  through the internal ANSI emulator to 'slow down' to
  1658.                  look as if they were being received over a modem.
  1659.  
  1660.                  The 'cps' value is the approximate number of characters
  1661.                  per 18ths of a second to display on your screen.
  1662.  
  1663.  
  1664.  
  1665.           Command: SWITCH
  1666.            Syntax: SWITCH(Number,<ON|OFF>)
  1667.           Example: SWITCH(10,ON)
  1668.  
  1669.                  If you have previously loaded a 1stReader .SET file
  1670.                  then the SWITCH command will let you change the value
  1671.                  of the 36 switches used by 1stReader.  For a complete
  1672.                  list of switch numbers in 1stReader see the
  1673.                  ADVANCED.DOC file.
  1674.  
  1675.  
  1676.  
  1677.           Command: UNPACK
  1678.            Syntax: UNPACK Variable1$ TO Variable2$ [Mask$]
  1679.           Example: UNPACK "1ST.ZIP" TO "C:\1ST" "*.*"
  1680.  
  1681.                  The UNPACK command will unpack a file archive into a
  1682.                  subdirectory.  If the subdirectory does not exist
  1683.                  then INSTALL will create it for you.
  1684.  
  1685.                  The _UNPACK$ variable has been provided in case you
  1686.                  wish to change the archiver used by INSTALL.  By
  1687.                  default, this command is "QUNZIP -O ".
  1688.  
  1689.  
  1690.  
  1691.          Function: VGA
  1692.            Syntax: VGA
  1693.           Example: IF VGA THEN GOTO ...
  1694.  
  1695.                  This function returns TRUE if the display is at least
  1696.                  capable of VGA graphics.
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.                                     Page 25 
  1711.  
  1712.  
  1713.  
  1714.           Function: VOC_AVAILABLE
  1715.             Syntax: VOC_AVAILABLE
  1716.            Example: IF VOC_AVAILABLE THEN GOTO ...
  1717.  
  1718.                  The VOC_AVAILABLE function lets you test the computer
  1719.                  for a sound card that is capable of playing .VOC
  1720.                  files.  If a compatible card was found then this
  1721.                  function returns TRUE.
  1722.  
  1723.  
  1724.  
  1725.           Command: VOC_FILE
  1726.            Syntax: VOC_FILE Variable$
  1727.           Example: VOC_FILE "WELCOME.VOC"
  1728.  
  1729.                  The VOC_FILE command plays a .VOC file through your
  1730.                  sound card.  INSTALL will pause until the file is
  1731.                  finished playing or you press any key to terminate
  1732.                  playback.
  1733.  
  1734.  
  1735.  
  1736.           Command: WRITE
  1737.            Syntax: WRITE(FileNum,Variable$)
  1738.           Example: WRITE(1,"This is a test")
  1739.  
  1740.                  The WRITE command will write information to a
  1741.                  previously OPENed file.  If you are writing to a file
  1742.                  that was opened for BINARY mode then a CR/LF is not
  1743.                  added to the file.
  1744.  
  1745.                  If you wish to write out hexadecimal values you can
  1746.                  use the "X'nn" format where "nn" is the value (in
  1747.                  hex) to write.
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.                                     Page 26 
  1773.  
  1774.  
  1775.  
  1776.